#ifndef __zutilinc_h__
#define __zutilinc_h__

#ifdef _MSC_VER
#pragma warning( disable : 4275)
#pragma warning( disable : 4251)
#pragma warning( disable : 4291)
#pragma warning( disable : 4996)
#pragma warning( disable : 4189)
#pragma warning( disable : 4100)
#endif

#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <time.h>
#include <assert.h>

#ifdef __cplusplus
extern "C" {	
#endif
#ifdef _DEBUG
#define Z_DEBUG
#endif


#define ZUTIL_WIN32 1
#define ZUTIL_LINUX 2
#define ZUTIL_ANDROID 3
	

#ifndef ZUTIL_OSTYPE
#ifdef WIN32
#define ZUTIL_OSTYPE ZUTIL_WIN32

#define strcasecmp _stricmp

#endif
#endif

#ifndef ZUTIL_OSTYPE
#define ZUTIL_OSTYPE ZUTIL_LINUX
#endif

#ifdef ZUTIL_EXPORTS
#ifndef ZUTIL_API
#define ZUTIL_API __declspec(dllexport)
#endif
#endif

#ifndef ZUTIL_API
#define ZUTIL_API
#endif

#ifdef __cplusplus
#if defined(_MSC_VER)
#elif defined(__GNUC__)
#define __PLACEMENT_NEW_INLINE
#include <new>
#else
#endif


#ifndef __PLACEMENT_NEW_INLINE
#define __PLACEMENT_NEW_INLINE
	inline void* operator new(size_t s, void* p){(void)s;return p;}
#endif
}
#endif
#endif
